<?xml version="1.0"?>
<doc>
    <assembly>
        <name>FireFly</name>
    </assembly>
    <members>
        <member name="T:FireFly.ViewModelService">
            <summary>
            Singlenton class which provides platform-dependent functionality for view model framework classes.
            </summary>
        </member>
        <member name="M:FireFly.ViewModelService.CombineVisualChildren(FireFly.IViewModel[])">
            <summary>
            Make collection from set of view models and collections of view models. Processes collections show modes.
            </summary>
            <param name="items">Items to combine</param>
        </member>
        <member name="M:FireFly.ViewModelService.GetIcon(System.Type)">
            <summary>
            Get icon for specified type
            </summary>
        </member>
        <member name="M:FireFly.ViewModelService.GetIcon(System.String)">
            <summary>
            Returns icon by resource key
            </summary>
        </member>
        <member name="M:FireFly.ViewModelService.GetString(System.String)">
            <summary>
            Extract string by resource key
            </summary>
        </member>
        <member name="M:FireFly.ViewModelService.CreateContextMenu``1(``0,System.Collections.Generic.IEnumerable{FireFly.IRelayCommand})">
            <summary>
            Creates context menu for view model
            </summary>
        </member>
        <member name="M:FireFly.ViewModelService.MenuOpenedEventhandler(System.Object,System.Windows.RoutedEventArgs)">
            <summary>
            Handler for MenuOpened event of context menus.
            </summary>
        </member>
        <member name="M:FireFly.ViewModelService.CreateMenuItems(FireFly.IViewModel,System.Collections.Generic.IEnumerable{FireFly.IRelayCommand})">
            <summary>
            Creates menu item of commands of viewmodel
            </summary>
            <param name="viewmodel">view model which commands is used in menu creating</param>
            <param name="commands">set of commands for new menu items</param>
            <returns>...why not IList{MenuItem}? Because Separator is not an MenuItem instance...</returns>
        </member>
        <member name="M:FireFly.ViewModelService.GetNestedVisualChildren``1(System.Windows.DependencyObject)">
            <summary>
            Get all nested visual children of type T
            </summary>
        </member>
        <member name="M:FireFly.ViewModelService.GetCommandContext``2(FireFly.RelayCommand{``0,``1},System.Object)">
            <summary>
            Evaluate relay command execution context at runtime
            </summary>
            <typeparam name="TViewModel">ViewModel type of the command</typeparam>
            <typeparam name="TContext">type of the UIContext</typeparam>
        </member>
        <member name="M:FireFly.ViewModelService.SameTypeOrDerived``1(System.Object)">
            <summary>
            Check if objest is same type or derived from T
            </summary>
            <typeparam name="T"></typeparam>
            <param name="parameter"></param>
            <returns></returns>
        </member>
        <member name="M:FireFly.ViewModelService.GetAppContext``1">
            <summary>
            You must override this method, if you want to use UI context in inherited from RelayCommand{T} commands
            </summary>
            <returns>result must be same type, as used in the </returns>
        </member>
        <member name="M:FireFly.ViewModelService.CreateViewModel``2(``0,FireFly.IHierarchicalViewModel,System.Func{``0,``1})">
            <summary>
            Create new instance of view model.
            </summary>
            <remarks>Used in CollectionViewModel</remarks>
        </member>
        <member name="M:FireFly.ViewModelService.CreateStandartSelectCommand``1">
            <summary>
            Creates common SelectCommand for ViewModel{T} descendants
            </summary>
        </member>
        <member name="M:FireFly.ViewModelService.ProcessException(System.Exception)">
            <summary>
            Process exception (for example, show it to user in message box or log to file)
            </summary>
            <remarks>Used by RelayCommand.Execute() and RelayCommand.CanExecute()</remarks>
        </member>
        <member name="P:FireFly.ViewModelService.Instance">
            <summary>
            Singlenton instance. This property must be set before using of framework classes.
            </summary>
        </member>
        <member name="T:FireFly.CollectionShowMode">
            <summary>
            Defines visibility of the CollectionViewModel
            </summary>
            <remarks>
            Manage CollectionViewModel checking in VisualChildren collection then it's creating through ViewModelService.CombineVisualChildren
            </remarks>
        </member>
        <member name="F:FireFly.CollectionShowMode.AlwaysShow">
            <summary>
            Always show collection
            </summary>
        </member>
        <member name="F:FireFly.CollectionShowMode.HideEmptyCollection">
            <summary>
            Hide if collection is empty
            </summary>
        </member>
        <member name="F:FireFly.CollectionShowMode.HideSingleCollection">
            <summary>
            If collection is only one element of tree - hide collection and show its children as elements of parent node
            </summary>
        </member>
        <member name="F:FireFly.CollectionShowMode.UserFriendly">
            <summary>
            Both HideEmptyCollection and HideWhenOnlyOneChildOfParent behavior
            </summary>
        </member>
        <member name="F:FireFly.CollectionShowMode.Transparent">
            <summary>
            Always hide collection and show its children as elements of parent node
            </summary>
        </member>
        <member name="T:FireFly.IHierarchicalViewModel">
            <summary>
            Presents hierarchically organized view model
            </summary>
        </member>
        <member name="T:FireFly.IViewModel">
            <summary>
            Interface of view model
            </summary>
        </member>
        <member name="P:FireFly.IViewModel.DisplayName">
            <summary>
            Caption of view model for view
            </summary>
        </member>
        <member name="P:FireFly.IViewModel.IsReadOnly">
            <summary>
            Is this view model readonly
            </summary>
        </member>
        <member name="P:FireFly.IViewModel.SelectCommand">
            <summary>
            Command that will executed when view, that represent this view model will be selected
            </summary>
        </member>
        <member name="P:FireFly.IViewModel.Commands">
            <summary>
            All commands of this view model
            </summary>
        </member>
        <member name="M:FireFly.IHierarchicalViewModel.RaiseVisualChildrenUpdated">
            <summary>
            Notify observers, that VisualChildren changed
            </summary>
        </member>
        <member name="P:FireFly.IHierarchicalViewModel.Parent">
            <summary>
            Parent of current node
            </summary>
            <remarks> For view models Parent will be collection which contains it. And for the collection parent will be view model, where the collection is defined.</remarks>
        </member>
        <member name="P:FireFly.IHierarchicalViewModel.VisualChildren">
            <summary>
            Collection of child elements for binding in view. For example, you can bind it to ItemSource of TreeView/TreeViewItem.
            </summary>
        </member>
        <member name="P:FireFly.IHierarchicalViewModel.RemoveCommand">
            <summary>
            Removes current node from it's parent
            </summary>
        </member>
        <member name="T:FireFly.CollectionViewModel`2">
            <summary>
            Collection of view models. Can be shown as separate group
            </summary>
            <typeparam name="TModel">type of source collection's elements</typeparam>
            <typeparam name="TViewModel">type of view model elements of this collection. MUST be ViewModel{T} or CollectionViewModel{T, VMT} or inherits one of them</typeparam>
        </member>
        <member name="T:FireFly.ICollectionViewModel">
            <summary>
            Presents collection of view model
            </summary>
        </member>
        <member name="P:FireFly.ICollectionViewModel.ShowMode">
            <summary>
            Define the way to show collection in UI. 
            <see cref="T:FireFly.CollectionShowMode"/>
            </summary>
        </member>
        <member name="T:FireFly.IModelContainer">
            <summary>
            Internal class for hide model in collection-viewmodel interaction
            </summary>
        </member>
        <member name="M:FireFly.CollectionViewModel`2.#ctor(System.Collections.Generic.IList{`0},System.Func{`0,`1})">
            <summary>
            Contructor
            </summary>
            <param name="list">source collection</param>
            <param name="constructor">factory method which will be used for producing new view model elements</param>
        </member>
        <member name="M:FireFly.CollectionViewModel`2.IntrernalCollectionChanged(System.Object,System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
            <summary>
            Syncronizes with the source collection when it changed
            </summary>
        </member>
        <member name="M:FireFly.CollectionViewModel`2.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs)">
            <summary>
            Syncronizes with the source collection, when current collection changed
            </summary>
        </member>
        <member name="P:FireFly.CollectionViewModel`2.IsSourceCollectionObservable">
            <summary>
            True, if source collection is INotifyCollectionChanged
            </summary>
        </member>
        <member name="P:FireFly.CollectionViewModel`2.Icon">
            <summary>
            Icon of collection. Defaults 
            </summary>
        </member>
        <member name="T:FireFly.Events">
            <summary>
            Warning! this class is not realy tested yet
            </summary>
        </member>
        <member name="T:FireFly.CommandExecutionException">
            <summary>
            Command execution exception
            </summary>
        </member>
        <member name="T:FireFly.ViewModelBase`1">
            <summary>
            Base class for view models
            </summary>
            <typeparam name="TModel">model type</typeparam>
        </member>
        <member name="M:FireFly.ViewModelBase`1.OnPropertyChanged(System.String)">
            <summary>
            Raise PropertyChanged event
            </summary>
        </member>
        <member name="P:FireFly.ViewModelBase`1.Icon">
            <summary>
            Icon for UI
            </summary>
        </member>
        <member name="P:FireFly.ViewModelBase`1.ContextMenu">
            <summary>
            Returns context menu for this view model.
            </summary>
            <remarks>By default context menu contains all commands of view model.</remarks>
        </member>
        <member name="T:FireFly.IRelayCommand">
            <summary>
            Interface of relay command for view models. See MVVM pattern for details.
            </summary>
        </member>
        <member name="M:FireFly.IRelayCommand.CreateMenuItem(System.Windows.Controls.ContextMenu,System.Object)">
            <summary>
            Create menu item which will wrapp this command
            </summary>
        </member>
        <member name="M:FireFly.IRelayCommand.UpdateCanExecute">
            <summary>
            needed for update menuitem state, when context menu is opened
            </summary>
        </member>
        <member name="P:FireFly.IRelayCommand.Icon">
            <summary>
            Icon of this command which can be used in UI
            </summary>
        </member>
        <member name="P:FireFly.IRelayCommand.Caption">
            <summary>
            Caption of this command for UI
            </summary>
        </member>
        <member name="T:FireFly.CommonRemoveItemCommand`1">
            <summary>
            Remove item command in common scenaries
            </summary>
        </member>
        <member name="T:FireFly.RelayCommand`2">
            <summary>
            Relay command base class
            </summary>
            <typeparam name="TViewModel">type of ViewModel</typeparam>
            <typeparam name="TContext">type of UIContext of CommandExecutionContext</typeparam>
        </member>
        <member name="M:FireFly.RelayCommand`2.#ctor(System.Action{FireFly.CommandExecutionContext{`0,`1}},System.Predicate{FireFly.CommandExecutionContext{`0,`1}},System.String)">
            <summary>
            constructor
            </summary>
            <param name="execute">execution logic</param>
            <param name="canExecute">predicate which allow or decline command execution</param>
            <param name="cmdKey"></param>
        </member>
        <member name="M:FireFly.RelayCommand`2.#ctor(System.Action{FireFly.CommandExecutionContext{`0,`1}},System.String)">
            <summary>
            Constructor for command  that is always executable
            </summary>
        </member>
        <member name="M:FireFly.RelayCommand`2.CanExecute(System.Object)">
            <summary>
            See <see cref="T:System.Windows.Input.ICommand"/> for details
            </summary>
            <param name="parameter"></param>
            <returns></returns>
        </member>
        <member name="T:FireFly.EventHook">
            <summary>
            Warning! this class is not realy tested yet
            </summary>
        </member>
        <member name="T:FireFly.HierarchicalViewModelBase`1">
            <summary>
            Base class for hierarchicaly organized view models
            </summary>
        </member>
        <member name="P:FireFly.HierarchicalViewModelBase`1.RemoveCommand">
            <summary>
            Remove this view model from its parents collection
            </summary>
        </member>
        <member name="T:FireFly.CommandExecutionContext`2">
            <summary>
            Context of RelayCommand execution. 
            <typeparam name="TViewModel">type of view model, which contains command</typeparam>
            <typeparam name="TContext">type of the UIContext</typeparam>
            </summary>
        </member>
        <member name="P:FireFly.CommandExecutionContext`2.Command">
            <summary>
            Command which is running
            </summary>
        </member>
        <member name="P:FireFly.CommandExecutionContext`2.ViewModel">
            <summary>
            View model as a subject of execution
            </summary>
        </member>
        <member name="P:FireFly.CommandExecutionContext`2.Sender">
            <summary>
            UI element which starts command execution
            </summary>
        </member>
        <member name="P:FireFly.CommandExecutionContext`2.PlacementTarget">
            <summary>
            PlacementTarget, if command is executing via context menu
            </summary>
        </member>
        <member name="P:FireFly.CommandExecutionContext`2.AppContext">
            <summary>
            Application context which command can use while executing
            </summary>
        </member>
    </members>
</doc>
